#!/bin/bash

# =======================================================
# 脚本名称: timeit.sh
# 脚本功能: 计算命令或脚本的执行时间，支持多个命令依次执行。
# 使用方法: ./timeit.sh "<命令1>" "<命令2>" ...
# 示例: ./timeit.sh "ls -l" "sleep 2" "echo Hello"
# 依赖工具: bash (自带)
# 仅支持系统: Linux
# =======================================================

# 检查是否传入至少一个命令参数
if [ $# -eq 0 ]; then
    echo "用法: $0 \"<命令1>\" \"<命令2>\" ..."
    exit 1
fi

# 函数名称: run_command
# 功能描述: 计算单个命令的执行时间
run_command() {
    local cmd="$1"
    echo "正在执行命令: $cmd"
    local start_time=$(date +%s.%N)
    eval "$cmd"
    local end_time=$(date +%s.%N)
    local elapsed=$(echo "$end_time - $start_time" | bc)
    echo "命令 [$cmd] 执行时间: ${elapsed} 秒"
    echo "----------------------------------------"
}

# 主程序: 依次执行每个命令并计算执行时间
for cmd in "$@"; do
    run_command "$cmd"
done
